import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path' // 引入 path 模块

// 默认的接口前缀，在 .env 中设置
const apiPrefix = `^${process.env.VUE_APP_API_PREFIX}`
// Onlyoffice 接口前缀，在 .env 中设置
const onlyofficeApiPrefix = `^${process.env.VUE_APP_ONLYOFFICE_API_PREFIX}`

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src') // 添加路径别名
    }
  },
  // 配置环境变量前缀
  envPrefix: ['VITE_', 'VUE_APP_'], 
  server: {
    port: process.env.VUE_APP_PORT ? parseInt(process.env.VUE_APP_PORT) : 3001,
    proxy: {
      [apiPrefix]: {
        target: 'http://127.0.0.1:3000',
        ws: false,
        changeOrigin: true,
        // Vite 没有 logLevel 选项，可使用 configure 进行日志配置
        configure: (proxy, options) => {
          proxy.on('proxyReq', (proxyReq, req, res) => {
            console.log('Proxying request:', req.url);
          });
        }
      },
      [onlyofficeApiPrefix]: {
        target: 'http://10.0.108.84:9000',
        ws: false,
        changeOrigin: true,
        rewrite: (path) => path.replace(new RegExp(`^${onlyofficeApiPrefix}`), '')
      }
    }
  }
})
